1 Load Package

2 Save CSV from Obsidian Time Tracker tool

  • copy to text file as TimeLog-2023-01-18.csv >> close file
  • Open file in Excel
  • Copy header to top row Task Start End TotalTaskTime TaskType SummaryTotal SummaryDay Day Date MainTask TotalTimeMin TotalTimeHr SubTask
  • If adding to existing time log csv, from this temp file delete the records already in the timelog file, and only work on the current ones to clean data to be added
  • I’ve coded the Time Tracker to keep all separately timed events together, with cumulative total, for each day- This creates a data issue, as this Segment Title summary stat doesn’t fit with the other data, yet is a key summary and Daily Topic stat
  • This needs to be cut/pasted into separate columns - at the same row as the first subtask
  • copy down to fill column for each subtask of that day
  • this column could later be split into separate columns Day #, Date and Main Task
  • after these have been copied down, the empty rows can be deleted
  • Fill in data type for each time period

3 Read Timelog Time Tracker TimeLog csv file

Ctrl+sht+H >> choose directory >> GeogInteract

# copy filename into read.csv
#          file.choose()
getwd()
## [1] "/Users/wanthony/Documents/R/GeogInteract"
# Ctrl+sht+H >> choose directory >> GeogInteract
TimeLog <- read.csv("TimeLogs/TimeLog-2023-01-20 13-19-09.csv")
# TimeLog

3.1 Split Summary Column into multiples

library(stringr)
TimeLog[c("Day", "Date", "MainTask")] <- stringr::str_split_fixed(TimeLog$SummaryDay, ': ', 3)

3.2 Calculate Time Difference Between start and end

  • TimeTracker doesn’t use 24 hour clock so when times span noon or midnight, the results are ploblematic
colnames(TimeLog)
##  [1] "Task"          "Start"         "End"           "TotalTaskTime"
##  [5] "TaskType"      "SummaryTotal"  "SummaryDay"    "Day"          
##  [9] "Date"          "MainTask"      "TotalTimeMin"  "TotalTimeHr"  
## [13] "SubTask"
TimeLog
##                                                      Task            Start
## 1                               Research:Tabs nested iPad 2023-01-20 12:52
## 2           Admin: Lists: Format Shiny to ShinyClone ipad  2023-01-20 3:35
## 3                            Code cleaning task lit -ipad  2023-01-20 4:49
## 4                  Time Tasks and log from iPad List work  2023-01-20 5:30
## 5                                         Lists from ipag  2023-01-20 5:34
## 6 Code: Code cleaning WebClone rewrite after Map breakage  2023-01-20 5:41
## 7       Code cleaning WebClone rewrite after Map breakage  2023-01-20 8:55
##                End TotalTaskTime TaskType SummaryTotal
## 1 2023-01-20 13:00        8m 12s       NA   6h 36m 29s
## 2  2023-01-20 3:50       14m 47s       NA   6h 36m 29s
## 3  2023-01-20 4:57        7m 59s       NA   6h 36m 29s
## 4  2023-01-20 5:30            4s       NA   6h 36m 29s
## 5  2023-01-20 5:38         4m 2s       NA   6h 36m 29s
## 6  2023-01-20 8:48      3h 7m 9s       NA   6h 36m 29s
## 7 2023-01-20 11:49    2h 54m 16s       NA   6h 36m 29s
##                                            SummaryDay    Day            Date
## 1 Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists Day 15 2023-01-20 Code
## 2 Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists Day 15 2023-01-20 Code
## 3 Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists Day 15 2023-01-20 Code
## 4 Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists Day 15 2023-01-20 Code
## 5 Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists Day 15 2023-01-20 Code
## 6 Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists Day 15 2023-01-20 Code
## 7 Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists Day 15 2023-01-20 Code
##                     MainTask TotalTimeMin TotalTimeHr SubTask
## 1 Code Cleaning; To Do Lists            8       0.133      NA
## 2 Code Cleaning; To Do Lists           15       0.250      NA
## 3 Code Cleaning; To Do Lists            8       0.133      NA
## 4 Code Cleaning; To Do Lists            0       0.000      NA
## 5 Code Cleaning; To Do Lists            4       0.067      NA
## 6 Code Cleaning; To Do Lists          187       3.117      NA
## 7 Code Cleaning; To Do Lists          174       2.900      NA
TimeLog$Start
## [1] "2023-01-20 12:52" "2023-01-20 3:35"  "2023-01-20 4:49"  "2023-01-20 5:30" 
## [5] "2023-01-20 5:34"  "2023-01-20 5:41"  "2023-01-20 8:55"
TimeLog$End
## [1] "2023-01-20 13:00" "2023-01-20 3:50"  "2023-01-20 4:57"  "2023-01-20 5:30" 
## [5] "2023-01-20 5:38"  "2023-01-20 8:48"  "2023-01-20 11:49"
# Change Values of single cells to make them 24 hour
?difftime
TimeLog$TotalTimeMin <- difftime(TimeLog$End, TimeLog$Start, units = "mins")
TimeLog$TotalTimeMin
## Time differences in mins
## [1]   8  15   8   0   4 187 174
###########################################################
###########################################################
###########################################################
# when the difference is negative, change time to be 24 hours
# iris$Sepal.Length[3]=999
# TimeLog$End[3]="2023-01-12 13:20"
# TimeLog$End[20]="2023-01-08 13:15"
# TimeLog$End[33]="2023-01-09 13:40"
# TimeLog$End[39]="2023-01-11 15:05"

# TimeLog$End
# 
# TimeLog$TotalTimeMin <- difftime(TimeLog$End, TimeLog$Start, units = "mins")

3.2.1 Convert minutes to hours

https://stackoverflow.com/questions/49903171/r-divide-all-rows-of-a-dataframe-column-by-a-number

# https://stackoverflow.com/questions/49903171/r-divide-all-rows-of-a-dataframe-column-by-a-number
colnames(TimeLog)
##  [1] "Task"          "Start"         "End"           "TotalTaskTime"
##  [5] "TaskType"      "SummaryTotal"  "SummaryDay"    "Day"          
##  [9] "Date"          "MainTask"      "TotalTimeMin"  "TotalTimeHr"  
## [13] "SubTask"
TimeLog$TotalTimeHr <- as.numeric(as.character(TimeLog$TotalTimeMin)) / 60

TimeLog$TotalTimeHr
## [1] 0.13333333 0.25000000 0.13333333 0.00000000 0.06666667 3.11666667 2.90000000
# limit decimal places
TimeLog$TotalTimeHr <- format(round(TimeLog$TotalTimeHr, 3), nsmall = 3)
TimeLog$TotalTimeHr
## [1] "0.133" "0.250" "0.133" "0.000" "0.067" "3.117" "2.900"

4 Error Checking 24 hour

  • If there are negative values, the Start and End need to be adjusted for 24 hour clock issues using Obsidian Time Tracker
  • e.g. [1], [3], [21]
  • I ended up changing 12:59 to 1:00 and PM to AM and it worked just fine
  • write csv file with time info >>>
  • Open in excel
  • Add contents of this file to end of TimeLog-Current.csv

4.0.1 Save as new .csv file with split columns

use this newly saved file to copy new timelog to current file TimeLog-Current.csv in app folder

write.csv(TimeLog, paste("TimeLogs/TimeLog-", Sys.time(), ".csv", sep=""), row.names=FALSE)
summary(TimeLog)
##      Task              Start               End            TotalTaskTime     
##  Length:7           Length:7           Length:7           Length:7          
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##  TaskType       SummaryTotal        SummaryDay            Day           
##  Mode:logical   Length:7           Length:7           Length:7          
##  NA's:7         Class :character   Class :character   Class :character  
##                 Mode  :character   Mode  :character   Mode  :character  
##      Date             MainTask         TotalTimeMin      TotalTimeHr       
##  Length:7           Length:7           Length:7          Length:7          
##  Class :character   Class :character   Class :difftime   Class :character  
##  Mode  :character   Mode  :character   Mode  :numeric    Mode  :character  
##  SubTask       
##  Mode:logical  
##  NA's:7        
## 

5 Read tl Time Tracker TimeLog csv file

tl <- read.csv("GeogInteract-app-WORKING/TimeLog-Current.csv")
tl
##                                                                                          Task
## 1                                                                       Data VUE Concept Maps
## 2                                                                     Disect Interactive Code
## 3                                                                    Email Job Acceptance etc
## 4                                                                  CSS Experiments; Wishlists
## 5                                                                Shiny template; data wrangle
## 6                                                                                Add .js html
## 7                                                                        Add save .csv button
## 8                                                                         App to Shiny Server
## 9                                                                            Add Concept Maps
## 10                                                                            Create Time Log
## 11                                                                           Questions to Ask
## 12                                                                                 Refine app
## 13                                                                      Nesting tabs attempts
## 14                                                                    Time Tracker Formatting
## 15                                                                          Nest Tabs working
## 16                                                                       Save code; republish
## 17                                                                          Nesting About tab
## 18                                                             Styling background; add images
## 19                                                                    Double-Nesting Troubles
## 20                                                                      Remove one Filter box
## 21                                              Try Removing DataTable Row Names - no success
## 22                                                 ToDo lists; search for filtered csv button
## 23                                                            Restyle logo; button; signature
## 24                                                 Trying to make csv button reactive-no luck
## 25                                                            Still Trying to make csv button
## 26                                                            Still Trying to make csv button
## 27                                                        iPad lists; ideas; todos; resources
## 28                                                                 iMac transfer iPad-copy.md
## 29                                                                   Disected pdf with links 
## 30                                          Figure out creating interactive pdf Adobe acrobat
## 31                                     concept map pdf from VUE; interactive links with Adobe
## 32                                              Got Filtered Table with CSV download WORKING!
## 33                                     Restyled and Uploaded Filtered Table with csv download
## 34                              Research js interactive table; Shiny tabs; update Shiny style
## 35                                                                 Add tabs and Republish app
## 36                                                              Tweak app content; to do list
## 37                                                                              Code Cleaning
## 38                                                Open links in sep window; publishing errors
## 39                                                                           Study Focus pdfs
## 40                                                             Course Data Collection Begins 
## 41                                                       Course Data Collection Continues ...
## 42                                                           Try hyperlink in table > no luck
## 43                                                         Start course data collection again
## 44                                                                More ourse data collection 
## 45  Planning / Designing Form Input; Flow Diagrams; some Data problems: had to redo stuff ...
## 46                                                                       Work on Flow Dataviz
## 47                                                                         Clean-up some code
## 48                                                               Mermaid Diagrams Flow Charts
## 49                                                                 Data Collection copy/paste
## 50                                        Finish Data Collection; figure out copy/paste error
## 51                                                             Check webpage after Publishing
## 52                                            Set up Time Log data for use; Document Workflow
## 53                                                                 Shiny: Create Working Tabs
## 54        Code: Create web-clone interface template; re-write Shiny output$tab str <- paste()
## 55                                                          Code: start creating web template
## 56                                                    Code: Start timer again after Republish
## 57                                                          Code: Change colour of active Tab
## 58                                                                        Code: HTML Template
## 59                                                                        Research: JS Tables
## 60                                                               Code: Creating table in HTML
## 61                                                                    Code: HTML Tables again
## 62                                      Coding: Data Viz Flow Adding CourseNames ConcatenateR
## 63                                     Code: Interactive Flow add classes; add logo at bottom
## 64                                                      Code: Update Interactive Flow Dataviz
## 65                                                        Code: Shiny Clone Webpage with tabs
## 66                                                                            Admin: Time Log
## 67                                                            Code: Interactive GGPlot Charts
## 68                         Code: Look at what needs to be changed: interact-flow; shiny clone
## 69                                      Code: Look at what needs to be changed: interact-flow
## 70                                                                        Code: interact-flow
## 71                                                                    Code: Add TimeLog table
## 72                                                             Code: Add time log total hours
## 73                                                                    Code: Tab names shorten
## 74                                                                          Code: Shiny Table
## 75                                                             Code: Shiny App to Shiny Clone
## 76                                            Code: Try to change timelog datatable sortorder
## 77                                                                  Admin: Create .RMD Report
## 78                                                                 Code: Clone internal links
## 79                                                                Code: Reduce Tabs Shiny App
## 80                                                               Code: Add button to save pdf
## 81                                                               Code: Add button to save pdf
## 82                                                        Code: Check for matching tag errors
## 83                                                                     Admin: Time Log export
## 84                                                                            Admin: Time Log
## 85                                                  Admin; ggplot timelog; Time Log Sub Tasks
## 86                          Code: Shiny App: Formatting: Tips for use; Reword text; Fine-tune
## 87                                                                    Admin: Email from David
## 88                                                                              Admin: Report
## 89                                                      Code: Gantt Chart for Course Planning
## 90                                        Admin: Organize Lists: ToDos Wishlists HowTos Needs
## 91                                                                           Code: Formatting
## 92                       Accessibility: Document keyboard strokes to navigate through website
## 93                                                       Accessibility: Add tips to About tab
## 94                                                                        Admin: Time Tracker
## 95                                                                          Code: Leaflet Map
## 96                                                                 Admin: iPad: GIP todo list
## 97                                                             Admin: added timelog from iPad
## 98                                                      Code: Update Interactive Flow webpage
## 99                                                 Research: Mermaid.js flowcharts in webpage
## 100                                                          Code: Interactive Paths Workflow
## 101                                                        Code: Web Clone update to ShinyApp
## 102                                                           Research: JS Interactive Tables
## 103                                                                Code: js Interactive Table
## 104                                                                     Admin: Update Timelog
## 105                                                                Code: js Interactive Table
## 106                                                                Code: js Interactive Table
## 107                                                         Code: Mermaid Flowchart Pdf Links
## 108                                                                     Code: Leaflet Web Map
## 109                                                                         Code: Leaflet Map
## 110                           Code: Add tips for Leaflet Map use; Tab for GeogBA planning pdf
## 111                                                    Admin: Meeting Email; Time Log; Report
## 112                                                                 Research:Tabs nested iPad
## 113                                             Admin: Lists: Format Shiny to ShinyClone ipad
## 114                                                              Code cleaning task lit -ipad
## 115                                                    Time Tasks and log from iPad List work
## 116                                                                           Lists from ipad
## 117                                   Code: Code cleaning WebClone rewrite after Map breakage
## 118                                         Code cleaning WebClone rewrite after Map breakage
##                Start                     End TotalTaskTime   TaskType
## 1    2023-01-06 3:40         2023-01-06 7:05     3h 25m 0s   Data viz
## 2    2023-01-06 9:00        2023-01-06 11:06     2h 6m 36s   Data viz
## 3   2023-01-06 12:40        2023-01-06 13:20        40m 0s      Admin
## 4    2023-01-06 2:00         2023-01-06 3:00         1h 0s Experiment
## 5    2023-01-07 6:00         2023-01-07 7:45     1h 45m 0s       Data
## 6    2023-01-07 7:45         2023-01-07 8:30        45m 0s       Code
## 7    2023-01-07 9:45        2023-01-07 10:15        30m 0s       Code
## 8   2023-01-07 10:30        2023-01-07 12:55     2h 25m 0s       Code
## 9    2023-01-07 1:25         2023-01-07 1:45       20m 18s       Code
## 10   2023-01-07 1:50         2023-01-07 3:20    1h 29m 42s      Admin
## 11   2023-01-07 1:50         2023-01-07 2:10        20m 0s  Questions
## 12   2023-01-08 5:28         2023-01-08 5:35        6m 29s       Code
## 13   2023-01-08 5:42         2023-01-08 7:00    1h 17m 42s       Code
## 14   2023-01-08 7:00         2023-01-08 7:15       14m 30s      Admin
## 15   2023-01-08 7:15         2023-01-08 7:35        20m 9s       Code
## 16   2023-01-08 7:41         2023-01-08 7:47        5m 39s       Code
## 17   2023-01-08 9:21        2023-01-08 10:38    1h 17m 14s       Code
## 18  2023-01-08 10:46        2023-01-08 11:47        1h 20s       Code
## 19  2023-01-08 11:49        2023-01-08 12:59    1h 10m 35s       Code
## 20  2023-01-08 12:59        2023-01-08 13:15       15m 35s       Code
## 21   2023-01-08 1:30         2023-01-08 1:41       11m 34s       Code
## 22   2023-01-09 6:15         2023-01-09 7:03        48m 0s   Research
## 23   2023-01-08 7:50         2023-01-08 8:33       42m 40s       Code
## 24   2023-01-08 8:37         2023-01-08 9:45      1h 8m 2s       Code
## 25  2023-01-08 10:10        2023-01-08 11:59     1h 49m 6s       Code
## 26  2023-01-09 12:00        2023-01-09 12:30       30m 28s       Code
## 27   2023-01-09 5:25         2023-01-09 5:55        30m 0s   Research
## 28   2023-01-09 5:25         2023-01-09 8:06    2h 41m 45s       Code
## 29   2023-01-09 8:10         2023-01-09 8:39       29m 52s   Research
## 30   2023-01-09 8:41         2023-01-09 9:15        34m 3s Experiment
## 31   2023-01-09 9:39        2023-01-09 10:38        59m 8s Experiment
## 32  2023-01-09 10:54        2023-01-09 12:33     1h 39m 3s       Code
## 33  2023-01-09 12:33        2023-01-09 13:40       47m 22s       Code
## 34   2023-01-09 2:20         2023-01-09 5:20         3h 0s Experiment
## 35   2023-01-10 5:37         2023-01-10 6:50    1h 12m 50s       Code
## 36   2023-01-10 7:30         2023-01-10 8:16       46m 50s       Code
## 37   2023-01-10 8:30         2023-01-10 9:25       54m 17s       Code
## 38   2023-01-10 9:40        2023-01-10 10:24        44m 5s       Code
## 39  2023-01-11 12:44        2023-01-11 15:05    2h 20m 22s       Data
## 40   2023-01-11 4:38         2023-01-11 6:55    2h 16m 52s       Data
## 41   2023-01-11 8:00        2023-01-11 10:18    2h 17m 47s       Data
## 42  2023-01-11 10:29        2023-01-11 11:15       45m 52s Experiment
## 43  2023-01-11 11:17        2023-01-11 11:51        34m 0s       Data
## 44  2023-01-11 12:11        2023-01-11 12:20        8m 53s       Data
## 45   2023-01-11 1:30         2023-01-11 3:30         2h 0s   Research
## 46   2023-01-11 4:30         2023-01-11 4:53       22m 52s Experiment
## 47   2023-01-11 6:47         2023-01-11 8:00    1h 12m 46s       Code
## 48   2023-01-12 3:55         2023-01-12 6:58      3h 3m 9s       Code
## 49   2023-01-12 7:08         2023-01-12 7:47       39m 26s       Data
## 50   2023-01-12 7:50         2023-01-12 8:56     1h 6m 13s       Data
## 51   2023-01-12 9:10         2023-01-12 9:20        9m 35s       Code
## 52  2023-01-12 10:28        2023-01-12 13:49    3h 20m 54s      Admin
## 53   2023-01-12 2:56         2023-01-12 4:34    1h 38m 21s       Code
## 54   2023-01-13 4:41         2023-01-13 5:00       18m 57s       Code
## 55   2023-01-13 5:12         2023-01-13 8:22    3h 10m 25s       Code
## 56   2023-01-13 8:23         2023-01-13 8:32        8m 55s       Code
## 57   2023-01-13 8:32         2023-01-13 8:40        8m 19s       Code
## 58   2023-01-13 8:48         2023-01-13 9:05       17m 13s       Code
## 59   2023-01-13 9:05        2023-01-13 10:23    1h 17m 18s   Research
## 60  2023-01-13 11:01 2023-01-13  14:18:01 AM     3h 16m 8s       Code
## 61   2023-01-13 2:39         2023-01-13 3:55    1h 16m 33s       Code
## 62   2023-01-13 6:09         2023-01-13 7:55     1h 46m 0s       Code
## 63   2023-01-14 2:32         2023-01-14 4:30    1h 57m 54s       Code
## 64   2023-01-14 5:46         2023-01-14 8:46         3h 8s       Code
## 65   2023-01-14 9:52        2023-01-14 12:58     3h 5m 22s       Code
## 66   2023-01-14 5:00         2023-01-14 5:33        33m 6s      Admin
## 67   2023-01-14 7:00         2023-01-14 8:30     1h 30m 0s       Code
## 68   2023-01-15 7:00         2023-01-15 7:15       14m 52s       Code
## 69   2023-01-15 7:15         2023-01-15 7:17        1m 40s       Code
## 70   2023-01-15 7:23         2023-01-15 9:40    2h 17m 17s       Code
## 71   2023-01-15 9:50        2023-01-15 10:13       22m 55s       Code
## 72  2023-01-15 10:13        2023-01-15 11:17     1h 3m 48s       Code
## 73  2023-01-15 11:27        2023-01-15 11:36        8m 49s       Code
## 74  2023-01-15 11:50        2023-01-15 12:10       20m 30s       Code
## 75   2023-01-15 1:03         2023-01-15 1:30        27m 9s       Code
## 76   2023-01-15 1:44         2023-01-15 2:00       15m 44s       Code
## 77   2023-01-15 2:00         2023-01-15 3:30    1h 30m 38s      Admin
## 78   2023-01-15 3:30         2023-01-15 4:01       30m 56s       Code
## 79   2023-01-15 4:01         2023-01-15 4:32       30m 52s       Code
## 80   2023-01-15 5:49         2023-01-15 6:05       15m 30s       Code
## 81   2023-01-15 6:06         2023-01-15 7:23    1h 17m 23s       Code
## 82   2023-01-15 7:24         2023-01-15 9:24    1h 59m 25s       Code
## 83   2023-01-16 0:01         2023-01-16 1:16     1h 15m 6s      Admin
## 84   2023-01-16 1:16         2023-01-16 2:57     1h 41m 9s      Admin
## 85   2023-01-16 1:00         2023-01-16 2:00        1h 26s       Code
## 86   2023-01-16 4:35         2023-01-16 5:54    1h 19m 35s       Code
## 87   2023-01-16 5:55         2023-01-16 6:23       27m 19s      Admin
## 88   2023-01-16 7:32         2023-01-16 8:08       35m 31s      Admin
## 89   2023-01-16 9:45        2023-01-16 11:15    1h 29m 47s       Code
## 90  2023-01-17 12:03        2023-01-17 12:53        50m 0s      Admin
## 91   2023-01-17 6:51         2023-01-17 7:15       23m 32s      Admin
## 92   2023-01-17 7:15         2023-01-17 7:31        16m 5s       Code
## 93   2023-01-17 7:43         2023-01-17 8:15       31m 33s       Code
## 94   2023-01-18 1:28         2023-01-18 1:38        10m 3s      Admin
## 95   2023-01-18 1:41         2023-01-18 2:33        52m 1s       Code
## 96   2023-01-18 3:28         2023-01-18 3:32        3m 33s      Admin
## 97   2023-01-18 4:01         2023-01-18 4:08        6m 51s   Research
## 98   2023-01-18 4:08         2023-01-18 7:17      3h 9m 7s       Code
## 99   2023-01-18 8:17         2023-01-18 8:47       29m 45s   Research
## 100  2023-01-18 9:03        2023-01-18 10:13     1h 9m 47s       Code
## 101 2023-01-18 10:33        2023-01-18 11:11        38m 2s       Code
## 102 2023-01-18 11:26        2023-01-18 11:59        33m 1s       Code
## 103  2023-01-18 1:02         2023-01-18 2:06     1h 3m 29s       Code
## 104  2023-01-18 2:49         2023-01-18 3:28       38m 23s      Admin
## 105  2023-01-18 0:02         2023-01-18 1:06     1h 3m 29s       Code
## 106  2023-01-18 1:14         2023-01-18 2:42    1h 28m 23s       Code
## 107  2023-01-18 8:35         2023-01-18 8:51       16m 15s       Code
## 108  2023-01-18 9:35        2023-01-18 10:06          -20s       Code
## 109  2023-01-19 4:34         2023-01-19 5:40     1h 5m 37s       Code
## 110  2023-01-19 6:02         2023-01-19 6:12        9m 48s       Code
## 111  2023-01-19 6:12         2023-01-19 6:32       20m 25s      Admin
## 112 2023-01-20 12:52        2023-01-20 13:00        8m 12s   Research
## 113  2023-01-20 3:35         2023-01-20 3:50       14m 47s      Admin
## 114  2023-01-20 4:49         2023-01-20 4:57        7m 59s       Code
## 115  2023-01-20 5:30         2023-01-20 5:30            4s      Admin
## 116  2023-01-20 5:34         2023-01-20 5:38         4m 2s      Admin
## 117  2023-01-20 5:41         2023-01-20 8:48      3h 7m 9s       Code
## 118  2023-01-20 8:55        2023-01-20 11:49    2h 54m 16s       Code
##     SummaryTotal                                                  SummaryDay
## 1     7h 11m 36s              Day 1: 2023-01-06: Dissect Interactive Dataviz
## 2     7h 11m 36s              Day 1: 2023-01-06: Dissect Interactive Dataviz
## 3     7h 11m 36s              Day 1: 2023-01-06: Dissect Interactive Dataviz
## 4     7h 11m 36s              Day 1: 2023-01-06: Dissect Interactive Dataviz
## 5      7h 35m 0s                          Day 2: 2023-01-07: Start Shiny app
## 6      7h 35m 0s                          Day 2: 2023-01-07: Start Shiny app
## 7      7h 35m 0s                          Day 2: 2023-01-07: Start Shiny app
## 8      7h 35m 0s                          Day 2: 2023-01-07: Start Shiny app
## 9      7h 35m 0s                          Day 2: 2023-01-07: Start Shiny app
## 10     7h 35m 0s                          Day 2: 2023-01-07: Start Shiny app
## 11     7h 35m 0s                          Day 2: 2023-01-07: Start Shiny app
## 12   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 13   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 14   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 15   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 16   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 17   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 18   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 19   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 20   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 21   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 22   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 23   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 24   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 25   10h 27m 35s                             Day 3: 2023-01-08: Refining App
## 26   10h 41m 44s                         Day 4: 2023-01-09: Interactive pdfs
## 27   10h 41m 44s                         Day 4: 2023-01-09: Interactive pdfs
## 28   10h 41m 44s                         Day 4: 2023-01-09: Interactive pdfs
## 29   10h 41m 44s                         Day 4: 2023-01-09: Interactive pdfs
## 30   10h 41m 44s                         Day 4: 2023-01-09: Interactive pdfs
## 31   10h 41m 44s                         Day 4: 2023-01-09: Interactive pdfs
## 32   10h 41m 44s                         Day 4: 2023-01-09: Interactive pdfs
## 33   10h 41m 44s                         Day 4: 2023-01-09: Interactive pdfs
## 34   10h 41m 44s                         Day 4: 2023-01-09: Interactive pdfs
## 35     3h 38m 2s                         Day 5: 2023-01-10: Interactive pdfs
## 36     3h 38m 2s                         Day 5: 2023-01-10: Interactive pdfs
## 37     3h 38m 2s                         Day 5: 2023-01-10: Interactive pdfs
## 38     3h 38m 2s                         Day 5: 2023-01-10: Interactive pdfs
## 39   11h 59m 24s                         Day 6: 2023-01-11: Study Focus Docs
## 40   11h 59m 24s                         Day 6: 2023-01-11: Study Focus Docs
## 41   11h 59m 24s                         Day 6: 2023-01-11: Study Focus Docs
## 42   11h 59m 24s                         Day 6: 2023-01-11: Study Focus Docs
## 43   11h 59m 24s                         Day 6: 2023-01-11: Study Focus Docs
## 44   11h 59m 24s                         Day 6: 2023-01-11: Study Focus Docs
## 45   11h 59m 24s                         Day 6: 2023-01-11: Study Focus Docs
## 46   11h 59m 24s                         Day 6: 2023-01-11: Study Focus Docs
## 47   11h 59m 24s                         Day 6: 2023-01-11: Study Focus Docs
## 48    5h 37m 15s                        Day 7: 2023-01-012: Mermaid Diagrams
## 49    5h 37m 15s                        Day 7: 2023-01-012: Mermaid Diagrams
## 50    5h 37m 15s                        Day 7: 2023-01-012: Mermaid Diagrams
## 51    5h 37m 15s                        Day 7: 2023-01-012: Mermaid Diagrams
## 52    9h 57m 38s                         Day 7: 2023-01-12: Mermaid Diagrams
## 53    9h 57m 38s                         Day 7: 2023-01-12: Mermaid Diagrams
## 54   11h 39m 55s Day 8: 2023-01-13: HTML Code; Change Tab Nesting and Colour
## 55   11h 39m 55s Day 8: 2023-01-13: HTML Code; Change Tab Nesting and Colour
## 56   11h 39m 55s Day 8: 2023-01-13: HTML Code; Change Tab Nesting and Colour
## 57   11h 39m 55s Day 8: 2023-01-13: HTML Code; Change Tab Nesting and Colour
## 58   11h 39m 55s Day 8: 2023-01-13: HTML Code; Change Tab Nesting and Colour
## 59   11h 39m 55s Day 8: 2023-01-13: HTML Code; Change Tab Nesting and Colour
## 60   11h 39m 55s Day 8: 2023-01-13: HTML Code; Change Tab Nesting and Colour
## 61   11h 39m 55s Day 8: 2023-01-13: HTML Code; Change Tab Nesting and Colour
## 62   11h 39m 55s Day 8: 2023-01-13: HTML Code; Change Tab Nesting and Colour
## 63     8h 3m 24s                    Day 9: 2023-01-14: Code:Interactive Flow
## 64     8h 3m 24s                    Day 9: 2023-01-14: Code:Interactive Flow
## 65     8h 3m 24s                    Day 9: 2023-01-14: Code:Interactive Flow
## 66    8h 36m 30s                    Day 9: 2023-01-14: Code:Interactive Flow
## 67    10h 6m 30s                    Day 9: 2023-01-14: Code:Interactive Flow
## 68   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 69   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 70   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 71   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 72   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 73   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 74   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 75   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 76   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 77   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 78   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 79   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 80   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 81   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 82   11h 17m 28s        Day 10: 2023-01-15: Code: interact-flow; shiny clone
## 83    7h 48m 53s        Day 11: 2023-01-16: Code: interact-flow; shiny clone
## 84    7h 48m 53s        Day 11: 2023-01-16: Code: interact-flow; shiny clone
## 85    7h 48m 53s        Day 11: 2023-01-16: Code: interact-flow; shiny clone
## 86    7h 48m 53s        Day 11: 2023-01-16: Code: interact-flow; shiny clone
## 87    7h 48m 53s        Day 11: 2023-01-16: Code: interact-flow; shiny clone
## 88    7h 48m 53s        Day 11: 2023-01-16: Code: interact-flow; shiny clone
## 89    7h 48m 53s        Day 11: 2023-01-16: Code: interact-flow; shiny clone
## 90     2h 1m 10s                         Day 12: 2023-01-17: Code Formatting
## 91     2h 1m 10s                         Day 12: 2023-01-17: Code Formatting
## 92     2h 1m 10s                         Day 12: 2023-01-17: Code Formatting
## 93     2h 1m 10s                         Day 12: 2023-01-17: Code Formatting
## 94    12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 95    12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 96    12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 97    12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 98    12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 99    12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 100   12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 101   12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 102   12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 103   12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 104   12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 105   12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 106   12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 107   12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 108   12h 49m 7s                                  Day 13: 2023-01-18: Coding
## 109    1h 5m 37s      Day 14: 2023-01-19 Code: Leaflet Map; Time Log; Report
## 110    1h 5m 37s      Day 14: 2023-01-19 Code: Leaflet Map; Time Log; Report
## 111    1h 5m 37s      Day 14: 2023-01-19 Code: Leaflet Map; Time Log; Report
## 112   6h 36m 29s         Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists
## 113   6h 36m 29s         Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists
## 114   6h 36m 29s         Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists
## 115   6h 36m 29s         Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists
## 116   6h 36m 29s         Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists
## 117   6h 36m 29s         Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists
## 118   6h 36m 29s         Day 15: 2023-01-20 Code: Code Cleaning; To Do Lists
##        Day       Date                                 MainTask TotalTimeMin
## 1    Day 1 2023-01-06              Dissect Interactive Dataviz          205
## 2    Day 1 2023-01-06              Dissect Interactive Dataviz          126
## 3    Day 1 2023-01-06              Dissect Interactive Dataviz           40
## 4    Day 1 2023-01-06              Dissect Interactive Dataviz           60
## 5    Day 2 2023-01-07                          Start Shiny app          105
## 6    Day 2 2023-01-07                          Start Shiny app           45
## 7    Day 2 2023-01-07                          Start Shiny app           30
## 8    Day 2 2023-01-07                          Start Shiny app          145
## 9    Day 2 2023-01-07                          Start Shiny app           20
## 10   Day 2 2023-01-07                          Start Shiny app           90
## 11   Day 2 2023-01-07                          Start Shiny app           20
## 12   Day 3 2023-01-08                             Refining App            7
## 13   Day 3 2023-01-08                             Refining App           78
## 14   Day 3 2023-01-08                             Refining App           15
## 15   Day 3 2023-01-08                             Refining App           20
## 16   Day 3 2023-01-08                             Refining App            6
## 17   Day 3 2023-01-08                             Refining App           77
## 18   Day 3 2023-01-08                             Refining App           61
## 19   Day 3 2023-01-08                             Refining App           70
## 20   Day 3 2023-01-08                             Refining App           16
## 21   Day 3 2023-01-08                             Refining App           11
## 22   Day 3 2023-01-08                             Refining App           48
## 23   Day 3 2023-01-08                             Refining App           43
## 24   Day 3 2023-01-08                             Refining App           68
## 25   Day 3 2023-01-08                             Refining App          109
## 26   Day 4 2023-01-09                         Interactive pdfs           30
## 27   Day 4 2023-01-09                         Interactive pdfs           30
## 28   Day 4 2023-01-09                         Interactive pdfs          161
## 29   Day 4 2023-01-09                         Interactive pdfs           29
## 30   Day 4 2023-01-09                         Interactive pdfs           34
## 31   Day 4 2023-01-09                         Interactive pdfs           59
## 32   Day 4 2023-01-09                         Interactive pdfs           99
## 33   Day 4 2023-01-09                         Interactive pdfs           67
## 34   Day 4 2023-01-09                         Interactive pdfs          180
## 35   Day 5 2023-01-10                         Interactive pdfs           73
## 36   Day 5 2023-01-10                         Interactive pdfs           46
## 37   Day 5 2023-01-10                         Interactive pdfs           55
## 38   Day 5 2023-01-10                         Interactive pdfs           44
## 39   Day 6 2023-01-11                         Study Focus Docs          141
## 40   Day 6 2023-01-11                         Study Focus Docs          137
## 41   Day 6 2023-01-11                         Study Focus Docs          138
## 42   Day 6 2023-01-11                         Study Focus Docs           46
## 43   Day 6 2023-01-11                         Study Focus Docs           34
## 44   Day 6 2023-01-11                         Study Focus Docs            9
## 45   Day 6 2023-01-11                         Study Focus Docs          120
## 46   Day 6 2023-01-11                         Study Focus Docs           23
## 47   Day 6 2023-01-11                         Study Focus Docs           73
## 48   Day 7 2023-01-12                         Mermaid Diagrams          183
## 49   Day 7 2023-01-12                         Mermaid Diagrams           39
## 50   Day 7 2023-01-12                         Mermaid Diagrams           66
## 51   Day 7 2023-01-12                         Mermaid Diagrams           10
## 52   Day 7 2023-01-12                         Mermaid Diagrams          201
## 53   Day 7 2023-01-12                         Mermaid Diagrams           98
## 54   Day 8 2023-01-13 HTML Code; Change Tab Nesting and Colour           19
## 55   Day 8 2023-01-13 HTML Code; Change Tab Nesting and Colour          190
## 56   Day 8 2023-01-13 HTML Code; Change Tab Nesting and Colour            9
## 57   Day 8 2023-01-13 HTML Code; Change Tab Nesting and Colour            8
## 58   Day 8 2023-01-13 HTML Code; Change Tab Nesting and Colour           17
## 59   Day 8 2023-01-13 HTML Code; Change Tab Nesting and Colour           78
## 60   Day 8 2023-01-13 HTML Code; Change Tab Nesting and Colour          197
## 61   Day 8 2023-01-13 HTML Code; Change Tab Nesting and Colour           76
## 62   Day 8 2023-01-13 HTML Code; Change Tab Nesting and Colour          106
## 63   Day 9 2023-01-14                    Code:Interactive Flow          118
## 64   Day 9 2023-01-14                    Code:Interactive Flow          180
## 65   Day 9 2023-01-14                    Code:Interactive Flow          186
## 66   Day 9 2023-01-14                    Code:Interactive Flow           33
## 67   Day 9 2023-01-14                    Code:Interactive Flow           90
## 68  Day 10 2023-01-15         Code: interact-flow; shiny clone           15
## 69  Day 10 2023-01-15         Code: interact-flow; shiny clone            2
## 70  Day 10 2023-01-15         Code: interact-flow; shiny clone          137
## 71  Day 10 2023-01-15         Code: interact-flow; shiny clone           23
## 72  Day 10 2023-01-15         Code: interact-flow; shiny clone           64
## 73  Day 10 2023-01-15         Code: interact-flow; shiny clone            9
## 74  Day 10 2023-01-15         Code: interact-flow; shiny clone           20
## 75  Day 10 2023-01-15         Code: interact-flow; shiny clone           27
## 76  Day 10 2023-01-15         Code: interact-flow; shiny clone           16
## 77  Day 10 2023-01-15         Code: interact-flow; shiny clone           90
## 78  Day 10 2023-01-15         Code: interact-flow; shiny clone           31
## 79  Day 10 2023-01-15         Code: interact-flow; shiny clone           31
## 80  Day 10 2023-01-15         Code: interact-flow; shiny clone           16
## 81  Day 10 2023-01-15         Code: interact-flow; shiny clone           77
## 82  Day 10 2023-01-15         Code: interact-flow; shiny clone          120
## 83  Day 11 2023-01-16         Code: interact-flow; shiny clone           75
## 84  Day 11 2023-01-16         Code: interact-flow; shiny clone          101
## 85  Day 11 2023-01-16         Code: interact-flow; shiny clone           60
## 86  Day 11 2023-01-16         Code: interact-flow; shiny clone           79
## 87  Day 11 2023-01-16         Code: interact-flow; shiny clone           28
## 88  Day 11 2023-01-16         Code: interact-flow; shiny clone           36
## 89  Day 11 2023-01-16         Code: interact-flow; shiny clone           90
## 90  Day 12 2023-01-17                          Code Formatting           50
## 91  Day 12 2023-01-17                          Code Formatting           24
## 92  Day 12 2023-01-17                          Code Formatting           16
## 93  Day 12 2023-01-17                          Code Formatting           32
## 94  Day 13 2023-01-18                                   Coding           10
## 95  Day 13 2023-01-18                                   Coding           52
## 96  Day 13 2023-01-18                                   Coding            4
## 97  Day 13 2023-01-18                                   Coding            7
## 98  Day 13 2023-01-18                                   Coding          189
## 99  Day 13 2023-01-18                                   Coding           30
## 100 Day 13 2023-01-18                                   Coding           70
## 101 Day 13 2023-01-18                                   Coding           38
## 102 Day 13 2023-01-18                                   Coding           33
## 103 Day 13 2023-01-18                                   Coding           64
## 104 Day 13 2023-01-18                                   Coding           39
## 105 Day 13 2023-01-18                                   Coding           64
## 106 Day 13 2023-01-18                                   Coding           88
## 107 Day 13 2023-01-18                                   Coding           16
## 108 Day 13 2023-01-18                                   Coding           31
## 109 Day 14 2023-01-19            Leaflet Map; Time Log; Report           66
## 110 Day 14 2023-01-19            Leaflet Map; Time Log; Report           10
## 111 Day 14 2023-01-19            Leaflet Map; Time Log; Report           20
## 112 Day 15 2023-01-20               Code Cleaning; To Do Lists            8
## 113 Day 15 2023-01-20               Code Cleaning; To Do Lists           15
## 114 Day 15 2023-01-20               Code Cleaning; To Do Lists            8
## 115 Day 15 2023-01-20               Code Cleaning; To Do Lists            0
## 116 Day 15 2023-01-20               Code Cleaning; To Do Lists            4
## 117 Day 15 2023-01-20               Code Cleaning; To Do Lists          187
## 118 Day 15 2023-01-20               Code Cleaning; To Do Lists          174
##     TotalTimeHr                        SubTask
## 1         3.417         Data Viz: Concept Maps
## 2         2.100     Data Viz: Interactive Flow
## 3         0.667           Communication: Email
## 4         1.000                     Style: CSS
## 5         1.750              Webpage: ShinyApp
## 6         0.750      Data Tables: Interactive 
## 7         0.500                    Save Button
## 8         2.417              Webpage: ShinyApp
## 9         0.333         Data Viz: Concept Maps
## 10        1.500                Admin: Time Log
## 11        0.333        Lists: ToDos; Questions
## 12        0.117              Webpage: ShinyApp
## 13        1.300              Webpage: ShinyApp
## 14        0.250                Admin: Time Log
## 15        0.333              Webpage: ShinyApp
## 16        0.100              Webpage: ShinyApp
## 17        1.283              Webpage: ShinyApp
## 18        1.017                     Style: CSS
## 19        1.167              Webpage: ShinyApp
## 20        0.267                       Research
## 21        0.183      Data Tables: Interactive 
## 22        0.800                    Save Button
## 23        0.717                     Style: CSS
## 24        1.133                    Save Button
## 25        1.817                    Save Button
## 26        0.500                    Save Button
## 27        0.500        Lists: ToDos; Questions
## 28        2.683                       Research
## 29        0.483          Data Viz: Linked PDFs
## 30        0.567          Data Viz: Linked PDFs
## 31        0.983         Data Viz: Concept Maps
## 32        1.650                    Save Button
## 33        1.117      Data Tables: Interactive 
## 34        3.000      Data Tables: Interactive 
## 35        1.217              Webpage: ShinyApp
## 36        0.767                     Style: CSS
## 37        0.917         Webpage: Code Cleaning
## 38        0.733         Webpage: Code Cleaning
## 39        2.350          Data Viz: Linked PDFs
## 40        2.283                Data Collection
## 41        2.300                Data Collection
## 42        0.767      Data Tables: Interactive 
## 43        0.567                Data Collection
## 44        0.150                Data Collection
## 45        2.000                Data Collection
## 46        0.383     Data Viz: Interactive Flow
## 47        1.217         Webpage: Code Cleaning
## 48        3.050   Data Viz: Mermaid Flowcharts
## 49        0.650                Data Collection
## 50        1.100                Data Collection
## 51        0.167         Webpage: Code Cleaning
## 52        3.350        Workflow: Documentation
## 53        1.633              Webpage: ShinyApp
## 54        0.317              Webpage: Web Page
## 55        3.167              Webpage: Web Page
## 56        0.150         Webpage: Code Cleaning
## 57        0.133              Webpage: ShinyApp
## 58        0.283              Webpage: Web Page
## 59        1.300      Data Tables: Interactive 
## 60        3.283      Data Tables: Interactive 
## 61        1.267      Data Tables: Interactive 
## 62        1.767     Data Viz: Interactive Flow
## 63        1.967     Data Viz: Interactive Flow
## 64        3.000     Data Viz: Interactive Flow
## 65        3.100              Webpage: Web Page
## 66        0.550                Admin: Time Log
## 67        1.500        Workflow: Documentation
## 68        0.250              Webpage: Web Page
## 69        0.033     Data Viz: Interactive Flow
## 70        2.283     Data Viz: Interactive Flow
## 71        0.383              Webpage: ShinyApp
## 72        1.067                Admin: Time Log
## 73        0.150              Webpage: Web Page
## 74        0.333      Data Tables: Interactive 
## 75        0.450              Webpage: Web Page
## 76        0.267      Data Tables: Interactive 
## 77        1.500          Communication: Report
## 78        0.517              Webpage: Web Page
## 79        0.517              Webpage: ShinyApp
## 80        0.267                    Save Button
## 81        1.283                    Save Button
## 82        2.000         Webpage: Code Cleaning
## 83        1.250                Admin: Time Log
## 84        1.683                Admin: Time Log
## 85        1.000     Data Viz: Interactive Flow
## 86        1.317              Webpage: ShinyApp
## 87        0.467           Communication: Email
## 88        0.600          Communication: Report
## 89        1.500                Data Viz: Gantt
## 90        0.833        Lists: ToDos; Questions
## 91        0.400                     Style: CSS
## 92        0.267            Tips: Accessibility
## 93        0.533            Tips: Accessibility
## 94        0.167                Admin: Time Log
## 95        0.867                   Map: Leaflet
## 96        0.067        Lists: ToDos; Questions
## 97        0.117                       Research
## 98        3.150 Data Viz: Interactive Pathways
## 99        0.500   Data Viz: Mermaid Flowcharts
## 100       1.167 Data Viz: Interactive Pathways
## 101       0.633              Webpage: Web Page
## 102       0.550      Data Tables: Interactive 
## 103       1.067      Data Tables: Interactive 
## 104       0.650        Workflow: Documentation
## 105       1.067      Data Tables: Interactive 
## 106       1.467      Data Tables: Interactive 
## 107       0.267   Data Viz: Mermaid Flowcharts
## 108       0.517                   Map: Leaflet
## 109       1.100                   Map: Leaflet
## 110       0.167                   Map: Leaflet
## 111       0.333           Communication: Email
## 112       0.133                       Research
## 113       0.250        Lists: ToDos; Questions
## 114       0.133         Webpage: Code Cleaning
## 115       0.000                Admin: Time Log
## 116       0.067        Lists: ToDos; Questions
## 117       3.117         Webpage: Code Cleaning
## 118       2.900         Webpage: Code Cleaning
tl$TotalTimeMin <- difftime(tl$End, tl$Start, units = "mins")
tl$TotalTimeMin
## Time differences in mins
##   [1] 205 126  40  60 105  45  30 145  20  90  20   7  78  15  20   6  77  61
##  [19]  70  16  11  48  43  68 109  30  30 161  29  34  59  99  67 180  73  46
##  [37]  55  44 141 137 138  46  34   9 120  23  73 183  39  66  10 201  98  19
##  [55] 190   9   8  17  78 197  76 106 118 180 186  33  90  15   2 137  23  64
##  [73]   9  20  27  16  90  31  31  16  77 120  75 101  60  79  28  36  90  50
##  [91]  24  16  32  10  52   4   7 189  30  70  38  33  64  39  64  88  16  31
## [109]  66  10  20   8  15   8   0   4 187 174
tl$Start
##   [1] "2023-01-06 3:40"  "2023-01-06 9:00"  "2023-01-06 12:40"
##   [4] "2023-01-06 2:00"  "2023-01-07 6:00"  "2023-01-07 7:45" 
##   [7] "2023-01-07 9:45"  "2023-01-07 10:30" "2023-01-07 1:25" 
##  [10] "2023-01-07 1:50"  "2023-01-07 1:50"  "2023-01-08 5:28" 
##  [13] "2023-01-08 5:42"  "2023-01-08 7:00"  "2023-01-08 7:15" 
##  [16] "2023-01-08 7:41"  "2023-01-08 9:21"  "2023-01-08 10:46"
##  [19] "2023-01-08 11:49" "2023-01-08 12:59" "2023-01-08 1:30" 
##  [22] "2023-01-09 6:15"  "2023-01-08 7:50"  "2023-01-08 8:37" 
##  [25] "2023-01-08 10:10" "2023-01-09 12:00" "2023-01-09 5:25" 
##  [28] "2023-01-09 5:25"  "2023-01-09 8:10"  "2023-01-09 8:41" 
##  [31] "2023-01-09 9:39"  "2023-01-09 10:54" "2023-01-09 12:33"
##  [34] "2023-01-09 2:20"  "2023-01-10 5:37"  "2023-01-10 7:30" 
##  [37] "2023-01-10 8:30"  "2023-01-10 9:40"  "2023-01-11 12:44"
##  [40] "2023-01-11 4:38"  "2023-01-11 8:00"  "2023-01-11 10:29"
##  [43] "2023-01-11 11:17" "2023-01-11 12:11" "2023-01-11 1:30" 
##  [46] "2023-01-11 4:30"  "2023-01-11 6:47"  "2023-01-12 3:55" 
##  [49] "2023-01-12 7:08"  "2023-01-12 7:50"  "2023-01-12 9:10" 
##  [52] "2023-01-12 10:28" "2023-01-12 2:56"  "2023-01-13 4:41" 
##  [55] "2023-01-13 5:12"  "2023-01-13 8:23"  "2023-01-13 8:32" 
##  [58] "2023-01-13 8:48"  "2023-01-13 9:05"  "2023-01-13 11:01"
##  [61] "2023-01-13 2:39"  "2023-01-13 6:09"  "2023-01-14 2:32" 
##  [64] "2023-01-14 5:46"  "2023-01-14 9:52"  "2023-01-14 5:00" 
##  [67] "2023-01-14 7:00"  "2023-01-15 7:00"  "2023-01-15 7:15" 
##  [70] "2023-01-15 7:23"  "2023-01-15 9:50"  "2023-01-15 10:13"
##  [73] "2023-01-15 11:27" "2023-01-15 11:50" "2023-01-15 1:03" 
##  [76] "2023-01-15 1:44"  "2023-01-15 2:00"  "2023-01-15 3:30" 
##  [79] "2023-01-15 4:01"  "2023-01-15 5:49"  "2023-01-15 6:06" 
##  [82] "2023-01-15 7:24"  "2023-01-16 0:01"  "2023-01-16 1:16" 
##  [85] "2023-01-16 1:00"  "2023-01-16 4:35"  "2023-01-16 5:55" 
##  [88] "2023-01-16 7:32"  "2023-01-16 9:45"  "2023-01-17 12:03"
##  [91] "2023-01-17 6:51"  "2023-01-17 7:15"  "2023-01-17 7:43" 
##  [94] "2023-01-18 1:28"  "2023-01-18 1:41"  "2023-01-18 3:28" 
##  [97] "2023-01-18 4:01"  "2023-01-18 4:08"  "2023-01-18 8:17" 
## [100] "2023-01-18 9:03"  "2023-01-18 10:33" "2023-01-18 11:26"
## [103] "2023-01-18 1:02"  "2023-01-18 2:49"  "2023-01-18 0:02" 
## [106] "2023-01-18 1:14"  "2023-01-18 8:35"  "2023-01-18 9:35" 
## [109] "2023-01-19 4:34"  "2023-01-19 6:02"  "2023-01-19 6:12" 
## [112] "2023-01-20 12:52" "2023-01-20 3:35"  "2023-01-20 4:49" 
## [115] "2023-01-20 5:30"  "2023-01-20 5:34"  "2023-01-20 5:41" 
## [118] "2023-01-20 8:55"
tl$End
##   [1] "2023-01-06 7:05"         "2023-01-06 11:06"       
##   [3] "2023-01-06 13:20"        "2023-01-06 3:00"        
##   [5] "2023-01-07 7:45"         "2023-01-07 8:30"        
##   [7] "2023-01-07 10:15"        "2023-01-07 12:55"       
##   [9] "2023-01-07 1:45"         "2023-01-07 3:20"        
##  [11] "2023-01-07 2:10"         "2023-01-08 5:35"        
##  [13] "2023-01-08 7:00"         "2023-01-08 7:15"        
##  [15] "2023-01-08 7:35"         "2023-01-08 7:47"        
##  [17] "2023-01-08 10:38"        "2023-01-08 11:47"       
##  [19] "2023-01-08 12:59"        "2023-01-08 13:15"       
##  [21] "2023-01-08 1:41"         "2023-01-09 7:03"        
##  [23] "2023-01-08 8:33"         "2023-01-08 9:45"        
##  [25] "2023-01-08 11:59"        "2023-01-09 12:30"       
##  [27] "2023-01-09 5:55"         "2023-01-09 8:06"        
##  [29] "2023-01-09 8:39"         "2023-01-09 9:15"        
##  [31] "2023-01-09 10:38"        "2023-01-09 12:33"       
##  [33] "2023-01-09 13:40"        "2023-01-09 5:20"        
##  [35] "2023-01-10 6:50"         "2023-01-10 8:16"        
##  [37] "2023-01-10 9:25"         "2023-01-10 10:24"       
##  [39] "2023-01-11 15:05"        "2023-01-11 6:55"        
##  [41] "2023-01-11 10:18"        "2023-01-11 11:15"       
##  [43] "2023-01-11 11:51"        "2023-01-11 12:20"       
##  [45] "2023-01-11 3:30"         "2023-01-11 4:53"        
##  [47] "2023-01-11 8:00"         "2023-01-12 6:58"        
##  [49] "2023-01-12 7:47"         "2023-01-12 8:56"        
##  [51] "2023-01-12 9:20"         "2023-01-12 13:49"       
##  [53] "2023-01-12 4:34"         "2023-01-13 5:00"        
##  [55] "2023-01-13 8:22"         "2023-01-13 8:32"        
##  [57] "2023-01-13 8:40"         "2023-01-13 9:05"        
##  [59] "2023-01-13 10:23"        "2023-01-13  14:18:01 AM"
##  [61] "2023-01-13 3:55"         "2023-01-13 7:55"        
##  [63] "2023-01-14 4:30"         "2023-01-14 8:46"        
##  [65] "2023-01-14 12:58"        "2023-01-14 5:33"        
##  [67] "2023-01-14 8:30"         "2023-01-15 7:15"        
##  [69] "2023-01-15 7:17"         "2023-01-15 9:40"        
##  [71] "2023-01-15 10:13"        "2023-01-15 11:17"       
##  [73] "2023-01-15 11:36"        "2023-01-15 12:10"       
##  [75] "2023-01-15 1:30"         "2023-01-15 2:00"        
##  [77] "2023-01-15 3:30"         "2023-01-15 4:01"        
##  [79] "2023-01-15 4:32"         "2023-01-15 6:05"        
##  [81] "2023-01-15 7:23"         "2023-01-15 9:24"        
##  [83] "2023-01-16 1:16"         "2023-01-16 2:57"        
##  [85] "2023-01-16 2:00"         "2023-01-16 5:54"        
##  [87] "2023-01-16 6:23"         "2023-01-16 8:08"        
##  [89] "2023-01-16 11:15"        "2023-01-17 12:53"       
##  [91] "2023-01-17 7:15"         "2023-01-17 7:31"        
##  [93] "2023-01-17 8:15"         "2023-01-18 1:38"        
##  [95] "2023-01-18 2:33"         "2023-01-18 3:32"        
##  [97] "2023-01-18 4:08"         "2023-01-18 7:17"        
##  [99] "2023-01-18 8:47"         "2023-01-18 10:13"       
## [101] "2023-01-18 11:11"        "2023-01-18 11:59"       
## [103] "2023-01-18 2:06"         "2023-01-18 3:28"        
## [105] "2023-01-18 1:06"         "2023-01-18 2:42"        
## [107] "2023-01-18 8:51"         "2023-01-18 10:06"       
## [109] "2023-01-19 5:40"         "2023-01-19 6:12"        
## [111] "2023-01-19 6:32"         "2023-01-20 13:00"       
## [113] "2023-01-20 3:50"         "2023-01-20 4:57"        
## [115] "2023-01-20 5:30"         "2023-01-20 5:38"        
## [117] "2023-01-20 8:48"         "2023-01-20 11:49"

5.1 Stacked Bar Visualize Time Log in GGplot

library(ggplot2)

tl <- read.csv("GeogInteract-app-WORKING/TimeLog-Current.csv")

colnames(tl)
##  [1] "Task"          "Start"         "End"           "TotalTaskTime"
##  [5] "TaskType"      "SummaryTotal"  "SummaryDay"    "Day"          
##  [9] "Date"          "MainTask"      "TotalTimeMin"  "TotalTimeHr"  
## [13] "SubTask"
tp_stack <- ggplot(tl, aes(x = Date, y = TotalTimeHr)) +
  geom_bar(aes(fill = TaskType),
           #geom_bar(aes(color = TaskType, fill = TaskType),           
           stat = "identity", position = position_stack()) +
  ylim(0, 15) +
  labs(title = "Task Time Log for Geog Interactive Course Explorations", 
       caption = "UVic Geography Wendy Anthony 2023",
       x = "Date", y = "Total Hours") +
  #scale_fill_brewer("Pastel2") + # 
  # scale_fill_brewer() + # blues
  # scale_colour_brewer(palette = "Dark2") +
  # scale_colour_brewer(palette = "Accent") +
  theme_bw() + 
  theme(legend.title = element_blank(),
        axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=0.5))
  
#theme_classic()
# stacked position = position_stack()
# side by side position = "dodge"

tp_stack

ggsave(paste0("images/TimePlot-stack-", format(Sys.time(), "%Y%m%d_%H%M%S"),
              ".png"), tp_stack)
## Saving 7 x 5 in image
ggsave(paste0("images/TimePlot-stack-", format(Sys.time(), "%Y-%m-%d_%H-%M"),
              ".png"), tp_stack)
## Saving 7 x 5 in image
ggsave("images/TimePlot-stack-2023-01-14.png", tp_stack)
## Saving 7 x 5 in image

5.2 Side-by-side Bar Visualize Time Log in GGplot

library(ggplot2)

tl <- read.csv("GeogInteract-app-WORKING/TimeLog-Current.csv")

colnames(tl)
##  [1] "Task"          "Start"         "End"           "TotalTaskTime"
##  [5] "TaskType"      "SummaryTotal"  "SummaryDay"    "Day"          
##  [9] "Date"          "MainTask"      "TotalTimeMin"  "TotalTimeHr"  
## [13] "SubTask"
tp_side <- ggplot(tl, aes(x = Date, y = TotalTimeHr)) +
  geom_bar(aes(fill = TaskType),
           #geom_bar(aes(color = TaskType, fill = TaskType),           
           stat = "identity", position = "dodge") +
  ylim(0, 15) +
  labs(title = "Task Time Log for Geog Interactive Course Explorations", 
       caption = "UVic Geography Wendy Anthony 2023",
       x = "Date", y = "Total Hours") +
  #scale_fill_brewer("Pastel2") + # 
  # scale_fill_brewer() + # blues
  # scale_colour_brewer(palette = "Dark2") +
  # scale_colour_brewer(palette = "Accent") +
  theme_bw() +
  theme(legend.title = element_blank(),
        axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=0.5))
#theme_classic()
# stacked position = position_stack()
# side by side position = "dodge"

tp_side

# https://stackoverflow.com/questions/38274213/adding-system-time-and-date-to-pdf-with-ggsave
ggsave(paste0("images/TimePlot-side-", format(Sys.time(), "%Y-%m-%d_%H-%M"),
              ".png"), tp_side)
## Saving 7 x 5 in image
ggsave("images/TimePlot-side-2023-01-14.png", tp_side)
## Saving 7 x 5 in image

5.3 Plotly

5.3.1 Task Type Side-by-side Bar Visualize Time Log in GGplot

library(ggplot2)
# install.packages("plotly")
library(plotly)


tl <- read.csv("GeogInteract-app-WORKING/TimeLog-Current.csv")

colnames(tl)
##  [1] "Task"          "Start"         "End"           "TotalTaskTime"
##  [5] "TaskType"      "SummaryTotal"  "SummaryDay"    "Day"          
##  [9] "Date"          "MainTask"      "TotalTimeMin"  "TotalTimeHr"  
## [13] "SubTask"
tp_side <- ggplot(tl, aes(x = Date, y = TotalTimeHr, label = SubTask)) +
  geom_bar(aes(fill = TaskType),
           #geom_bar(aes(color = TaskType, fill = TaskType),           
           stat = "identity", position = "dodge") +
  ylim(0, 15) +
  labs(title = "Task Time Log for Geog Interactive Course Explorations", 
       caption = "UVic Geography Wendy Anthony 2023",
       x = "Date", y = "Total Hours") +
  #scale_fill_brewer("Pastel2") + # 
  # scale_fill_brewer() + # blues
  # scale_colour_brewer(palette = "Dark2") +
  # scale_colour_brewer(palette = "Accent") +
  theme_bw() +
  theme(legend.title = element_blank(),
        axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=0.5))
#theme_classic()
# stacked position = position_stack()
# side by side position = "dodge"

ggplotly(tp_side)
# https://stackoverflow.com/questions/38274213/adding-system-time-and-date-to-pdf-with-ggsave
ggsave(paste0("images/TimePlot-side-", format(Sys.time(), "%Y-%m-%d_%H-%M"),
              ".png"), tp_side)
## Saving 7 x 5 in image
ggsave("images/TimePlot-side-2023-01-14.png", tp_side)
## Saving 7 x 5 in image

5.3.2 Sub Task Side-by-side Bar Visualize Time Log in GGplot

library(ggplot2)
# install.packages("plotly")
library(plotly)


tl <- read.csv("GeogInteract-app-WORKING/TimeLog-Current.csv")

colnames(tl)
##  [1] "Task"          "Start"         "End"           "TotalTaskTime"
##  [5] "TaskType"      "SummaryTotal"  "SummaryDay"    "Day"          
##  [9] "Date"          "MainTask"      "TotalTimeMin"  "TotalTimeHr"  
## [13] "SubTask"
tp_side_subtask <- ggplot(tl, aes(x = Date, y = TotalTimeHr, label = TaskType)) +
  geom_bar(aes(fill = SubTask),
           #geom_bar(aes(color = TaskType, fill = TaskType),           
           stat = "identity", position = "dodge") +
  ylim(0, 15) +
  labs(title = "Sub Task Time Log for Geog Interactive Course Explorations", 
       subtitle = "UVic Geography Wendy Anthony 2023",
       caption = "UVic Geography Wendy Anthony 2023",
       x = "Date", y = "Total Hours") +
  #scale_fill_brewer("Pastel2") + # 
  # scale_fill_brewer() + # blues
  # scale_colour_brewer(palette = "Dark2") +
  # scale_colour_brewer(palette = "Accent") +
  theme_bw() +
  theme(legend.title = element_blank(),
        axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=0.5))
#theme_classic()
# stacked position = position_stack()
# side by side position = "dodge"

ggplotly(tp_side_subtask)
# https://stackoverflow.com/questions/38274213/adding-system-time-and-date-to-pdf-with-ggsave
ggsave(paste0("images/TimePlot-side-subtask-", format(Sys.time(), "%Y-%m-%d_%H-%M"),
              ".png"), tp_side_subtask)
## Saving 7 x 5 in image
ggsave("images/TimePlot-side-subtask-2023-01-16.png", tp_side_subtask)
## Saving 7 x 5 in image

5.4 Group chart

library(ggplot2)
library(dplyr)

    tl <- read.csv("GeogInteract-app-WORKING/TimeLog-Current.csv")

    # colnames(tl)

    # group_by() sum()
    # https://rveryday.wordpress.com/2016/11/30/how-to-summarize-a-data-frame-by-groups-in-r/
    tl_group <- tl %>%
      dplyr::select(Day, Date, TotalTimeMin, TotalTimeHr, TaskType) %>%
      dplyr::group_by(Date) %>%
      dplyr::summarise(TotalTimeHr = sum(TotalTimeHr))

    tp_group_bar <- ggplot(tl_group, aes(x = Date, y = TotalTimeHr)) +
      geom_bar(aes(fill = TotalTimeHr),
               #geom_bar(aes(color = TaskType, fill = TaskType),
               stat = "identity", position = "dodge",
               width = 0.75,
               fill = "#69A81D") +
      ylim(0, 15) +
      labs(title = "Task Time Log for Geog Interactive Course Explorations",
           subtitle = "Group by Total Hours per Day",
           caption = "UVic Geography Wendy Anthony 2023",
           x = "Date", y = "Total Hours") +
      theme_bw() +
      theme(legend.title = element_blank(),
            axis.text.x = element_text(angle = 90,vjust = .45, hjust = 0.75))
    
    tp_group_bar

5.5 Summarise Total Hours group_by Bar Visualize Time Log in GGplot

library(ggplot2)
library(dplyr) # group_by summarise

tl <- read.csv("GeogInteract-app-WORKING/TimeLog-Current.csv")

# colnames(tl)

# group_by() sum()
# https://rveryday.wordpress.com/2016/11/30/how-to-summarize-a-data-frame-by-groups-in-r/
tl_group <- tl %>% 
  select(Day, Date, TotalTimeMin, TotalTimeHr, TaskType) %>% 
  group_by(Date) %>%  
  summarise(TotalTimeHr = sum(TotalTimeHr)) 

tp_group_bar <- ggplot(tl_group, aes(x = Date, y = TotalTimeHr)) +
  geom_bar(aes(fill = TotalTimeHr),
           #geom_bar(aes(color = TaskType, fill = TaskType),           
           stat = "identity", position = "dodge",
           width = 0.35,
           fill = "#69A81D") +
  ylim(0, 15) +
  labs(title = "Task Time Log for Geog Interactive Course Explorations",
       subtitle = "Group by Total Hours per Day",
       caption = "UVic Geography Wendy Anthony 2023",
       x = "Day", y = "Total Hours") +
  #scale_fill_brewer("Pastel2") + # 
  # scale_fill_brewer() + # blues
  # scale_colour_brewer(palette = "Dark2") +
  # scale_colour_brewer(palette = "Accent") +
  theme_bw() +
  theme(legend.title = element_blank(),
        axis.text.x = element_text(angle = 90,vjust = .45, hjust = 0.75))
#theme_classic()
# stacked position = position_stack()
# side by side position = "dodge"

tp_group_bar

# https://stackoverflow.com/questions/38274213/adding-system-time-and-date-to-pdf-with-ggsave
ggsave(paste0("images/TimePlot-group-bar-", format(Sys.time(), "%Y-%m-%d_%H-%M"),
              ".png"), tp_group_bar)
## Saving 7 x 5 in image
ggsave("images/TimePlot-group-bar-2023-01-14.png", tp_group_bar)
## Saving 7 x 5 in image

5.6 Summarise Total Hours group_by Line Visualize Time Log in GGplot

library(ggplot2)
library(dplyr) # group_by summarise

tl <- read.csv("GeogInteract-app-WORKING/TimeLog-Current.csv")

colnames(tl)
##  [1] "Task"          "Start"         "End"           "TotalTaskTime"
##  [5] "TaskType"      "SummaryTotal"  "SummaryDay"    "Day"          
##  [9] "Date"          "MainTask"      "TotalTimeMin"  "TotalTimeHr"  
## [13] "SubTask"
# group_by() sum()
# https://rveryday.wordpress.com/2016/11/30/how-to-summarize-a-data-frame-by-groups-in-r/
tl_group <- tl %>% 
  select(Day, Date, TotalTimeMin, TotalTimeHr, TaskType) %>% 
  group_by(Date) %>%  
  summarise(TotalTimeHr = sum(TotalTimeHr)) 

tp_group_line <- ggplot(tl_group, aes(x = Date, y = TotalTimeHr, group=1)) +
  geom_line(linetype = "dashed") +
  geom_point() +
  ylim(0, 15) +
  labs(title = "Task Time Log for Geog Interactive Course Explorations",
       subtitle = "Group by Total Hours per Day",
       caption = "UVic Geography Wendy Anthony 2023",
       x = "Day", y = "Total Hours") +
  #scale_fill_brewer("Pastel2") + # 
  # scale_fill_brewer() + # blues
  # scale_colour_brewer(palette = "Dark2") +
  # scale_colour_brewer(palette = "Accent") +
  theme_bw() +
  theme(legend.title = element_blank(),
        axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=0.5))
#theme_classic()
# stacked position = position_stack()
# side by side position = "dodge"

tp_group_line

# https://stackoverflow.com/questions/38274213/adding-system-time-and-date-to-pdf-with-ggsave
# ggsave(paste0("images/TimePlot-group-line", format(Sys.time(), "%Y-%m-%d_%H-%M"),
#               ".png"), tp_group_line)
# 
# ggsave("images/TimePlot-group-line-2023-01-14.png", tp_group_line)

# Sum of Hours

5.7 Summarise Total Hours group_by Line Visualize Time Log in GGplot

library(ggplot2)
library(dplyr) # group_by summarise

tl <- read.csv("GeogInteract-app-WORKING/TimeLog-Current.csv")

colnames(tl)
##  [1] "Task"          "Start"         "End"           "TotalTaskTime"
##  [5] "TaskType"      "SummaryTotal"  "SummaryDay"    "Day"          
##  [9] "Date"          "MainTask"      "TotalTimeMin"  "TotalTimeHr"  
## [13] "SubTask"
# group_by() sum()
# https://rveryday.wordpress.com/2016/11/30/how-to-summarize-a-data-frame-by-groups-in-r/
tl_group <- tl %>% 
  select(Day, Date, TotalTimeMin, TotalTimeHr, TaskType) %>% 
  group_by(Date) %>%  
  summarise(TotalTimeHr = sum(TotalTimeHr)) 

tp_group_line <- ggplot(tl_group, aes(x = Date, y = TotalTimeHr, group=1)) +
  geom_line(linetype = "dashed") +
  geom_point() +
  ylim(0, 15) +
  labs(title = "Task Time Log for Geog Interactive Course Explorations",
       subtitle = "Group by Total Hours per Day",
       caption = "UVic Geography Wendy Anthony 2023",
       x = "Day", y = "Total Hours") +
  #scale_fill_brewer("Pastel2") + # 
  # scale_fill_brewer() + # blues
  # scale_colour_brewer(palette = "Dark2") +
  # scale_colour_brewer(palette = "Accent") +
  theme_bw() +
  theme(legend.title = element_blank(),
        axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=0.5))
#theme_classic()
# stacked position = position_stack()
# side by side position = "dodge"

tp_group_line

# https://stackoverflow.com/questions/38274213/adding-system-time-and-date-to-pdf-with-ggsave
ggsave(paste0("images/TimePlot-group-line", format(Sys.time(), "%Y-%m-%d_%H-%M"),
              ".png"), tp_group_line)
## Saving 7 x 5 in image
ggsave("images/TimePlot-group-line-2023-01-14.png", tp_group_line)
## Saving 7 x 5 in image
# Sum of Hours

5.8 Plotly Summarise SubTask By Hours

# library(ggplot2)
# library(dplyr) # group_by summarise
## Summarise SubTask By Hours
tl <- read.csv("GeogInteract-app-WORKING/TimeLog-Current.csv")

# colnames(tl)

# group_by() sum()
# https://rveryday.wordpress.com/2016/11/30/how-to-summarize-a-data-frame-by-groups-in-r/
tl_group_sub <- tl %>% 
  select(Day, Date, TotalTimeMin, TotalTimeHr, TaskType, SubTask) %>% 
  group_by(SubTask) %>%  
  summarise(TotalTimeHr = sum(TotalTimeHr)) 

# dplyr reorder() to reverse the order of the SubTask
tp_group_bar_sub <- ggplot(tl_group_sub, 
                           aes(x = reorder(SubTask, desc(SubTask)), 
                               y = TotalTimeHr)) +
  # tp_group_bar_sub <- ggplot(tl_group_sub, 
  #                          aes(x = reorder(SubTask, desc(SubTask)), 
  #                              y = TotalTimeHr,
  #                              label = SubTask)) +
  geom_bar(aes(fill = SubTask),
           #geom_bar(aes(color = TaskType, fill = TaskType),           
           stat = "identity", position = "dodge",
           width = 0.35,
           fill = "#69A81D") +
  ylim(0, 17.5) +
  labs(title = "Time Log by SubTask Type - Jan 6-20, 2023",
       subtitle = "UVic Geog Interactive Course Explorations Web Tool",
       caption = "UVic Geography Wendy Anthony 2023",
       x = "Sub Task", y = "Total Hours") +
  coord_flip() +

  #scale_fill_brewer("Pastel2") + # 
  # scale_fill_brewer() + # blues
  # scale_colour_brewer(palette = "Dark2") +
  # scale_colour_brewer(palette = "Accent") +
  theme_bw() +
  theme(legend.title = element_blank(),
        axis.text.x = element_text(angle = 0,vjust = .45, hjust = 0.75))
#theme_classic()
# stacked position = position_stack()
# side by side position = "dodge"

tp_group_bar_sub

ggplotly(tp_group_bar_sub)
# https://stackoverflow.com/questions/38274213/adding-system-time-and-date-to-pdf-with-ggsave

 ggsave(paste0("images/TimePlot-group-bar-subtask", format(Sys.time(), "%Y-%m-%d_%H-%M"),
              ".png"), tp_group_bar_sub)
## Saving 7 x 5 in image
# 
# ggsave("images/TimePlot-group-bar_subtask-2023-01-20.png", tp_group_bar_sub)

5.9 Current Total Hours

TimeLog_current <- read.csv("GeogInteract-app-WORKING/TimeLog-Current.csv")
# TimeLog_current

# colnames(TimeLog_current)

# TimeLog_current$TotalTimeHr

TotalHours <- sum(TimeLog_current[, 'TotalTimeHr'])
TotalHours
## [1] 125.722

6 Mermaid Diagrams

library(DiagrammeR)
 mermaid("graph LR;
A[Geography Major BA]
B[Focus: Environment]
E1[GEOG 101A]
E2[GEOG 101B]
E3[GEOG 103]
E4[GEOG 130]
E5[GEOG 226]
E6[GEOG 230]
E7[GEOG 252]
E8[GEOG 304]
E9[GEOG 353]
E10[GEOG 438]
E11[GEOG 453]

B-->A;
E1-->E5;
E3-->E5;
E4-->E6;
E7-->E8;
E7-->E9;
E9-->E11;
")


# Session info

# to document specific packages used to run script
sessionInfo()
## R version 4.2.1 (2022-06-23)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Mojave 10.14.6
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] DiagrammeR_1.0.9 stringr_1.4.1    dplyr_1.0.10     plotly_4.10.1   
## [5] ggplot2_3.4.0   
## 
## loaded via a namespace (and not attached):
##  [1] tidyselect_1.2.0   xfun_0.33          bslib_0.4.0        purrr_0.3.5       
##  [5] colorspace_2.0-3   vctrs_0.5.0        generics_0.1.3     htmltools_0.5.3   
##  [9] viridisLite_0.4.1  yaml_2.3.5         utf8_1.2.2         rlang_1.0.6       
## [13] jquerylib_0.1.4    pillar_1.8.1       glue_1.6.2         withr_2.5.0       
## [17] DBI_1.1.3          RColorBrewer_1.1-3 lifecycle_1.0.3    munsell_0.5.0     
## [21] gtable_0.3.1       ragg_1.2.3         visNetwork_2.1.2   htmlwidgets_1.5.4 
## [25] evaluate_0.17      labeling_0.4.2     knitr_1.40         fastmap_1.1.0     
## [29] crosstalk_1.2.0    fansi_1.0.3        highr_0.9          scales_1.2.1      
## [33] cachem_1.0.6       jsonlite_1.8.2     farver_2.1.1       systemfonts_1.0.4 
## [37] textshaping_0.3.6  digest_0.6.30      stringi_1.7.8      grid_4.2.1        
## [41] cli_3.4.1          tools_4.2.1        magrittr_2.0.3     sass_0.4.2        
## [45] lazyeval_0.2.2     tibble_3.1.8       tidyr_1.2.1        pkgconfig_2.0.3   
## [49] data.table_1.14.2  assertthat_0.2.1   rmarkdown_2.17     httr_1.4.4        
## [53] rstudioapi_0.14    R6_2.5.1           compiler_4.2.1